<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 单词： filter - 过滤器 / 过滤
var arr = [8, 18, 19, 11, 19, 44];

/* arr.filter 的作用：过滤数组

  用法：
  var result = arr.filter(function(item, index, array) {
    // filter 的原理：回调函数返回值要为 布尔值表达式
      // 表达式为「真」，则对应的 item 保留； 反之，对应的 item 被去掉。
    return index % 2 === 0;
    // return 布尔值表达式
  });
*/

// ------------- 案例：

// 要求1：将 上面数组 返回为 [{age: 8}, {age: 18}, ...]
var people = arr.map(function(item) {
  return {
    age: item
  }
});


// 要求2：返回 age >= 18 的人员列表
  // 其本质 就是「过滤」 - filter
/* 
  var result = [];
  people.forEach(function(person) {
    if (person.age >= 18) {
      result.push(person);
    }
    // console.log(person);
  });

  console.log('result', result);
*/

/* 上面的代码，用 filter 改写
  var result = people.filter(function(item) {
    return item.age >= 18;
  })
*/




</script>